In television services Electronic Program Guide (EPG) is a term used to represent program meta-data for broadcasted programs, and is provided as an interactive service to end users.
FIG. 1 shows an example of how EPG data is distributed amongst the typical functions of a “hybrid” TV infrastructure that facilitates both a Digital Video Broadcasting standard 101 (DVB being the standard for television data distribution over satellite, cable, terrestrial or IP networks) and an Internet Protocol (IP) standard 103. Traditional TV services such as Linear TV, Local PVR (recordings) and so forth make use of the existing DVB standard received over Satellite/Cable/Terrestrial/IP networks, and extra add-on features are given over another network (e.g. IP), for example Video On Demand, Network PVR and Catchup TV.
Program data such as EPG data plays an important role for features that are enabled over such hybrid systems. EPG data is ingested (created, updated and deleted) in the network side, for example at a server system 105 using an EPG ingest unit 107. The data is typically stored in the system server 105 within a program storage unit 109 that serves network applications 111, such as network PVR and catchup TV. The EPG data is also distributed over satellite, cable, terrestrial or IP networks as a DVB Event Information Table (DVB EIT), and is stored locally on a client system (or client device, such as a set-top box) 113.
The Event Information Table forms part of a DVB Service Information standard (DVB-SI) that delivers meta-data for scheduled TV programs. The EPG data received at the client system 113, for example via a receiving unit 115 in the client system, is typically stored in an event storage unit 117 that serves local applications 119 with the corresponding EPG data.
The event storage unit 117 contains the DVB EIT representation of EPG meta-data for programs, known as “Events”. Events have a limited lifetime since the event identifiers used to identify a particular event (known as event_IDs) are reused on a periodic basis, for example every 3 months or so. This is known as an event identifier repetition period. Event identifiers are repeated in this way since only a limited number of bits (16 bits) are available in the DVB standard for representing event_IDs. After the event Identifier repetition period has elapsed, a local application cannot make use of the event identifier as a reference.
In the DVB standard an event in the EIT also contains a Program Start Time to identify when the particular program is due to start. However, such Program Start Times cannot be used as unique identifiers for individual programs since the start time of a particular program can change, for example when a previous program is overrunning unexpectedly, or when there is a change to the programming schedule. Therefore the event identifier is used as a reference for the individual programs. The EIT information is updated repeatedly, where any old information for an event is overwritten with updated information.
Sometimes there are dependencies or interactions between client systems 113 and server systems 105. In these cases they must share the same EPG program identifiers. Many scenarios during typical use require the program identifiers to be unique over time. For example “Recommendation” and “Advertisement” applications need to refer to programs that users have watched in the past to provide effective advertisements, promotions and recommendations. Also, applications for recorded content such as Network PVR and TV Anytime services may require to store program meta-data for very long times. However, since none of the identifiers described above are unique over time, this can lead to disadvantageous situations where different parts of a system can inadvertently reference incorrect events or programs.